﻿using System.Collections.Generic;
using System.Reflection;
using Rainbow.ObjectFlow.Framework;

namespace TestDoc
{
    class Program
    {
        internal struct CommandLineArguments
        {
            public string File;
        }

        public class TestReport
        {
            public string[] Arguments { get; set; }
            public CommandLineArguments Properties { get; set; }
            public Assembly Assembly { get; set; }
            public IList<MethodInfoSmall> Tests { get; set; }
        }

        static void Main(string[] args)
        {

            var testReport = new TestReport();
            testReport.Arguments = args;
            testReport.Assembly = Assembly.GetExecutingAssembly();

            Workflow<TestReport>.Definition()
                .Do(new ParseConfiguration())
                .Do(new CreateReportStructure())
                .Do(new PrettyPrinting())
                .Start(testReport);
        }
    }
}